const mongoose = require("../../../db/db");

/**
 * @description 管理系统 文章模型
 */
const Schema = mongoose.Schema({
    id: {
        type: String,
    },
    //创建日期
    createDate: {
        type: String,
    },
    //文章标题
    title: {
        type: String,
        require: true,
        
    },
    //文章简介
    intro: {
        type: String,
        require: true
    },

    // 主图图片
    mainImg: {
        type: String,
        require: true
    },
    // 主图JSON串 数组
    masterImage: {
        type: String,
        require: true
    },
    // 详情描述
    description: {
        type: String,
        require: true
    },
    //排序
    sort: {
        type: Number,
    },
    keyWords: {
        type: String,
        
    },
    seoDescription:{
        type: String,
    },
    searchEngine:{
        type:String
    },
    seoTitle:{},
    urlname: {
        type: String,
    },

    //逻辑删除标记
    deleteFlag: {
        type: Boolean,
        default: false
    },
    //状态
    status: {
        type: String,
        default: "1"
    }
}, {
    versionKey: false, // 去除版本号
    // 自动创建 createdAt 和 updatedAt 时间戳（可选）
    timestamps: { createdAt: "createDate", updatedAt: "updateDate" }
})


// --------------------------
// 索引配置
// --------------------------
// 单字段索引
Schema.index({ createDate: -1 });
Schema.index({ status: 1 });
Schema.index({ deleteFlag: 1 });
Schema.index({ sort: 1 });

// 复合索引
Schema.index({ status: 1, deleteFlag: 1, createDate: -1 });
Schema.index({ status: 1, sort: 1 });

// 唯一索引
Schema.index({ id: 1 }, { unique: true });

// 文本索引（全文搜索）
Schema.index(
    { title: "text", intro: "text", description: "text" },
    {
        weights: { title: 10, intro: 5, description: 3 },
        name: "article_text_search"
    }
);

// --------------------------
// 导出模型
// --------------------------
/**@description 文章表模型 */
const MAIN_TAB_BRAND = mongoose.model("MAIN_TAB_ARTICLE", Schema);
module.exports = MAIN_TAB_BRAND;